const Navigator =function Navigator()
{
    throw new TypeError('Illegal constructor')
}
catvm.safefunction(Navigator);

Object.defineProperties(Navigator.prototype,{
    [Symbol.toStringTag]:{
        value:'Navigator',
        configurable:true,
    }
})
Object.getOwnPropertyDescriptor_ = Object.getOwnPropertyDescriptor;
Object.getOwnPropertyDescriptor = function(tag, val){
    // tag[Symbol.toStringtag]
    // debugger
    // if (typeof tag.toLocaleString === 'function') {
    // console.log('对象 tag 具有 toLocaleString 方法');
    // } else {
    // console.log('对象 tag 不具有 toLocaleString 方法');
    //     return tag
    // }

    // if(tag.toLocaleString() == '[object Navigator]'){
    //     return undefined;
    // }
    return Object.getOwnPropertyDescriptor_.apply(this,arguments)
}

Navigator.prototype.plugins = catvm.proxy([{},{},{},{},{}])
Navigator.prototype.languages = ['zh-CN','zh']
Navigator.prototype.language = 'zh-CN'
Navigator.prototype.userAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'

navigator = {}
navigator.platform='win32'
navigator.connection=catvm.proxy({effectiveType:'4g'})
navigator.webdriver=false
navigator.__proto__ = Navigator.prototype
for (let prototype_ in Navigator.prototype) {
    navigator[prototype_] = Navigator.prototype[prototype_]
    Navigator.prototype.__defineGetter__(prototype_,function(){
        throw new TypeError('Illegal constructor')
    })
    
}
navigator.hardwareConcurrency=8
navigator.appVersion='5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'


navigator = catvm.proxy(navigator)